package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserTypeClientSaveDTO;
import cn.kgm.user.dto.dto.UserTypeClientUpdateDTO;
import cn.kgm.user.dto.entity.UserTypeClient;
import cn.kgm.user.dto.query.UserTypeClientPageQuery;
import cn.kgm.user.dto.vo.UserTypeClientVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * toC客户
 * @author kappi
 * @date   2024-04-08 15:08:08
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserTypeClientMappers {
    UserTypeClientMappers INSTANCE = Mappers.getMapper(UserTypeClientMappers.class);

    /**
     * 将 UserTypeClientSaveDTO 映射成 UserTypeClient 对象
     *
     * @param source 源对象
     * @return UserTypeClient
     */
    UserTypeClient mapToEntity(UserTypeClientSaveDTO source);

    /**
     * 将 UserTypeClientUpdateDTO 映射成 UserTypeClient 对象
     *
     * @param source 源对象
     * @return UserTypeClient
     */
    UserTypeClient mapToEntity(UserTypeClientUpdateDTO source);

    /**
     * UserTypeClientPageQuery 映射成 UserTypeClient 对象
     *
     * @param source 源对象
     * @return UserTypeClient
     */
    UserTypeClient mapToEntity(UserTypeClientPageQuery source);

    /**
     * UserTypeClientPageQuery 映射成 UserTypeClient 对象
     *
     * @param source 源对象
     * @return UserTypeClientVO
     */
    UserTypeClientVO mapToEntity(UserTypeClient source);

    /**
     * UserTypeClientPageQuery 映射成 UserTypeClient 对象
     *
     * @param source 源对象
     * @return UserTypeClientVO
     */
    UserTypeClient mapToEntity(UserTypeClientVO source);
}
